import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 创建一个RandomWalk实例，并将其包含的点都绘制出来
# 只要程序处于活动状态，就不断地模拟随机漫步
while True:
    rw = RandomWalk(50000)
    rw.fill_walk()

    # 生成数字列表，其中包含的数字个数与漫步包含的点数相同
    point_numbers = list(range(rw.num_points))
    # 指定使用颜色映射Blues,并删除每个点周围的轮廓
    plt.scatter(rw.x_values, rw.y_values,
                c = point_numbers, cmap = plt.cm.Blues,
                edgecolors = 'none', s=1)
    # 突出起点和终点
    plt.scatter(0, 0, c = 'green', edgecolors='none', s = 100)
    plt.scatter(rw.x_values[-1], rw.y_values[-1],
                c='red', edgecolors='none', s=100)
    # 隐藏坐标轴
    # plt.axes().get_xaixs().set_visible(False)
    # plt.axes().get_yaixs().set_visible(False)

    plt.show()

    # 只要程序处于活动状态，就不断地模拟随机漫步
    keep_running = input("Make another walk?(y/n): ")
    if keep_running == 'n':
        break